16 research outputs found

    Analysis of hybrid systems using HySAT

    Get PDF
    In this paper we describe the complete workflow of analyzing the dynamic behavior of safety-critical embedded systems with HySAT. HySAT is an arithmetic constraint solver with a tightly integrated bounded model checker for hybrid discrete-continuous systems which — in contrast to many other solvers — is not confined to linear arithmetic, but can also deal with nonlinear constraints involving transcendental functions. Based on a controller for train separation implementing a “moving block ” interlocking scheme in the forthcoming European Train Control System Level 3, we exemplify the usage of the tool over the whole cycle from encoding a hybrid system to interpreting the results

    Generalized Craig Interpolation for Stochastic Boolean Satisfiability Problems with Applications to Probabilistic State Reachability and Region Stability

    Full text link
    The stochastic Boolean satisfiability (SSAT) problem has been introduced by Papadimitriou in 1985 when adding a probabilistic model of uncertainty to propositional satisfiability through randomized quantification. SSAT has many applications, among them probabilistic bounded model checking (PBMC) of symbolically represented Markov decision processes. This article identifies a notion of Craig interpolant for the SSAT framework and develops an algorithm for computing such interpolants based on a resolution calculus for SSAT. As a potential application area of this novel concept of Craig interpolation, we address the symbolic analysis of probabilistic systems. We first investigate the use of interpolation in probabilistic state reachability analysis, turning the falsification procedure employing PBMC into a verification technique for probabilistic safety properties. We furthermore propose an interpolation-based approach to probabilistic region stability, being able to verify that the probability of stabilizing within some region is sufficiently large

    Incremental bounded model checking for embedded software

    Get PDF
    Program analysis is on the brink of mainstream usage in embedded systems development. Formal verification of behavioural requirements, finding runtime errors and test case generation are some of the most common applications of automated verification tools based on bounded model checking (BMC). Existing industrial tools for embedded software use an off-the-shelf bounded model checker and apply it iteratively to verify the program with an increasing number of unwindings. This approach unnecessarily wastes time repeating work that has already been done and fails to exploit the power of incremental SAT solving. This article reports on the extension of the software model checker CBMC to support incremental BMC and its successful integration with the industrial embedded software verification tool BTC EMBEDDED TESTER. We present an extensive evaluation over large industrial embedded programs, mainly from the automotive industry. We show that incremental BMC cuts runtimes by one order of magnitude in comparison to the standard non-incremental approach, enabling the application of formal verification to large and complex embedded software. We furthermore report promising results on analysing programs with arbitrary loop structure using incremental BMC, demonstrating its applicability and potential to verify general software beyond the embedded domain

    Towards Using Formal Methods in Prototyping - Advantage or Impediment

    Get PDF
    In aviation and other safety-critical domains, software faults are unacceptable. A means of detecting and avoiding these faults is to use formal methods. Although formal methods strongly contribute to the reliability and robustness of the system, some drawbacks prevent their general usage. A drawback is their reputation to be hard to apply for non-experts. Non-experts have to be familiarized with the tools to efficiently make use of them. But is this reputation still valid? Over the years, formal methods tools have evolved. They are capable to analyze more complex system properties. Further, their user experience was addressed by industrial companies to actually allow non-experts to profit from the advantages of formal methods. This paper represents the first step towards putting the mentioned assumption under test by trying to use formal methods for prototyping. We propose an approach for software prototyping which makes use of the formalization of requirements. We depict advantages and discuss first results of evaluating the commercial tool BTC EmbeddedPlatform R that we were able to use without cost in a project cooperation. We plan to continue the project cooperation to answer the headline in future
    corecore